{"ast":null,"code":"import _slicedToArray from \"/Users/poppie/Desktop/development/messenger/app/frontend/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nimport toArray from \"rc-util/es/Children/toArray\";\nimport useIsomorphicLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport * as React from 'react';\nfunction cuttable(node) {\n  var type = typeof node;\n  return type === 'string' || type === 'number';\n}\nfunction getNodesLen(nodeList) {\n  var totalLen = 0;\n  nodeList.forEach(function (node) {\n    if (cuttable(node)) {\n      totalLen += String(node).length;\n    } else {\n      totalLen += 1;\n    }\n  });\n  return totalLen;\n}\nfunction sliceNodes(nodeList, len) {\n  var currLen = 0;\n  var currentNodeList = [];\n  for (var i = 0; i < nodeList.length; i += 1) {\n    // Match to return\n    if (currLen === len) {\n      return currentNodeList;\n    }\n    var node = nodeList[i];\n    var canCut = cuttable(node);\n    var nodeLen = canCut ? String(node).length : 1;\n    var nextLen = currLen + nodeLen;\n    // Exceed but current not which means we need cut this\n    // This will not happen on validate ReactElement\n    if (nextLen > len) {\n      var restLen = len - currLen;\n      currentNodeList.push(String(node).slice(0, restLen));\n      return currentNodeList;\n    }\n    currentNodeList.push(node);\n    currLen = nextLen;\n  }\n  return nodeList;\n}\nvar NONE = 0;\nvar PREPARE = 1;\nvar WALKING = 2;\nvar DONE_WITH_ELLIPSIS = 3;\nvar DONE_WITHOUT_ELLIPSIS = 4;\nvar Ellipsis = function Ellipsis(_ref) {\n  var enabledMeasure = _ref.enabledMeasure,\n    children = _ref.children,\n    text = _ref.text,\n    width = _ref.width,\n    fontSize = _ref.fontSize,\n    rows = _ref.rows,\n    onEllipsis = _ref.onEllipsis;\n  var _React$useState = React.useState([0, 0, 0]),\n    _React$useState2 = _slicedToArray(_React$useState, 2),\n    _React$useState2$ = _slicedToArray(_React$useState2[0], 3),\n    startLen = _React$useState2$[0],\n    midLen = _React$useState2$[1],\n    endLen = _React$useState2$[2],\n    setCutLength = _React$useState2[1];\n  var _React$useState3 = React.useState(NONE),\n    _React$useState4 = _slicedToArray(_React$useState3, 2),\n    walkingState = _React$useState4[0],\n    setWalkingState = _React$useState4[1];\n  var _React$useState5 = React.useState(0),\n    _React$useState6 = _slicedToArray(_React$useState5, 2),\n    singleRowHeight = _React$useState6[0],\n    setSingleRowHeight = _React$useState6[1];\n  var singleRowRef = React.useRef(null);\n  var midRowRef = React.useRef(null);\n  var nodeList = React.useMemo(function () {\n    return toArray(text);\n  }, [text]);\n  var totalLen = React.useMemo(function () {\n    return getNodesLen(nodeList);\n  }, [nodeList]);\n  var mergedChildren = React.useMemo(function () {\n    if (!enabledMeasure || walkingState !== DONE_WITH_ELLIPSIS) {\n      return children(nodeList, false);\n    }\n    return children(sliceNodes(nodeList, midLen), midLen < totalLen);\n  }, [enabledMeasure, walkingState, children, nodeList, midLen, totalLen]);\n  // ======================== Walk ========================\n  useIsomorphicLayoutEffect(function () {\n    if (enabledMeasure && width && fontSize && totalLen) {\n      setWalkingState(PREPARE);\n      setCutLength([0, Math.ceil(totalLen / 2), totalLen]);\n    }\n  }, [enabledMeasure, width, fontSize, text, totalLen, rows]);\n  useIsomorphicLayoutEffect(function () {\n    var _a;\n    if (walkingState === PREPARE) {\n      setSingleRowHeight(((_a = singleRowRef.current) === null || _a === void 0 ? void 0 : _a.offsetHeight) || 0);\n    }\n  }, [walkingState]);\n  useIsomorphicLayoutEffect(function () {\n    var _a, _b;\n    if (singleRowHeight) {\n      if (walkingState === PREPARE) {\n        // Ignore if position is enough\n        var midHeight = ((_a = midRowRef.current) === null || _a === void 0 ? void 0 : _a.offsetHeight) || 0;\n        var maxHeight = rows * singleRowHeight;\n        if (midHeight <= maxHeight) {\n          setWalkingState(DONE_WITHOUT_ELLIPSIS);\n          onEllipsis(false);\n        } else {\n          setWalkingState(WALKING);\n        }\n      } else if (walkingState === WALKING) {\n        if (startLen !== endLen) {\n          var _midHeight = ((_b = midRowRef.current) === null || _b === void 0 ? void 0 : _b.offsetHeight) || 0;\n          var _maxHeight = rows * singleRowHeight;\n          var nextStartLen = startLen;\n          var nextEndLen = endLen;\n          // We reach the last round\n          if (startLen === endLen - 1) {\n            nextEndLen = startLen;\n          } else if (_midHeight <= _maxHeight) {\n            nextStartLen = midLen;\n          } else {\n            nextEndLen = midLen;\n          }\n          var nextMidLen = Math.ceil((nextStartLen + nextEndLen) / 2);\n          setCutLength([nextStartLen, nextMidLen, nextEndLen]);\n        } else {\n          setWalkingState(DONE_WITH_ELLIPSIS);\n          onEllipsis(true);\n        }\n      }\n    }\n  }, [walkingState, startLen, endLen, rows, singleRowHeight]);\n  // ======================= Render =======================\n  var measureStyle = {\n    width: width,\n    whiteSpace: 'normal',\n    margin: 0,\n    padding: 0\n  };\n  var renderMeasure = function renderMeasure(content, ref, style) {\n    return /*#__PURE__*/React.createElement(\"span\", {\n      \"aria-hidden\": true,\n      ref: ref,\n      style: Object.assign({\n        position: 'fixed',\n        display: 'block',\n        left: 0,\n        top: 0,\n        zIndex: -9999,\n        visibility: 'hidden',\n        pointerEvents: 'none',\n        fontSize: Math.floor(fontSize / 2) * 2\n      }, style)\n    }, content);\n  };\n  var renderMeasureSlice = function renderMeasureSlice(len, ref) {\n    var sliceNodeList = sliceNodes(nodeList, len);\n    return renderMeasure(children(sliceNodeList, true), ref, measureStyle);\n  };\n  return /*#__PURE__*/React.createElement(React.Fragment, null, mergedChildren, enabledMeasure && walkingState !== DONE_WITH_ELLIPSIS && walkingState !== DONE_WITHOUT_ELLIPSIS && /*#__PURE__*/React.createElement(React.Fragment, null, renderMeasure('lg', singleRowRef, {\n    wordBreak: 'keep-all',\n    whiteSpace: 'nowrap'\n  }), walkingState === PREPARE ? renderMeasure(children(nodeList, false), midRowRef, measureStyle) : renderMeasureSlice(midLen, midRowRef)));\n};\nif (process.env.NODE_ENV !== 'production') {\n  Ellipsis.displayName = 'Ellipsis';\n}\nexport default Ellipsis;","map":{"version":3,"names":["toArray","useIsomorphicLayoutEffect","React","cuttable","node","type","getNodesLen","nodeList","totalLen","forEach","String","length","sliceNodes","len","currLen","currentNodeList","i","canCut","nodeLen","nextLen","restLen","push","slice","NONE","PREPARE","WALKING","DONE_WITH_ELLIPSIS","DONE_WITHOUT_ELLIPSIS","Ellipsis","_ref","enabledMeasure","children","text","width","fontSize","rows","onEllipsis","useState","startLen","midLen","endLen","setCutLength","walkingState","setWalkingState","singleRowHeight","setSingleRowHeight","singleRowRef","useRef","midRowRef","useMemo","mergedChildren","Math","ceil","_a","current","offsetHeight","_b","midHeight","maxHeight","nextStartLen","nextEndLen","nextMidLen","measureStyle","whiteSpace","margin","padding","renderMeasure","content","ref","style","createElement","Object","assign","position","display","left","top","zIndex","visibility","pointerEvents","floor","renderMeasureSlice","sliceNodeList","Fragment","wordBreak","process","env","NODE_ENV","displayName"],"sources":["/Users/poppie/Desktop/development/messenger/app/frontend/node_modules/antd/es/typography/Base/Ellipsis.js"],"sourcesContent":["import toArray from \"rc-util/es/Children/toArray\";\nimport useIsomorphicLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport * as React from 'react';\nfunction cuttable(node) {\n  const type = typeof node;\n  return type === 'string' || type === 'number';\n}\nfunction getNodesLen(nodeList) {\n  let totalLen = 0;\n  nodeList.forEach(node => {\n    if (cuttable(node)) {\n      totalLen += String(node).length;\n    } else {\n      totalLen += 1;\n    }\n  });\n  return totalLen;\n}\nfunction sliceNodes(nodeList, len) {\n  let currLen = 0;\n  const currentNodeList = [];\n  for (let i = 0; i < nodeList.length; i += 1) {\n    // Match to return\n    if (currLen === len) {\n      return currentNodeList;\n    }\n    const node = nodeList[i];\n    const canCut = cuttable(node);\n    const nodeLen = canCut ? String(node).length : 1;\n    const nextLen = currLen + nodeLen;\n    // Exceed but current not which means we need cut this\n    // This will not happen on validate ReactElement\n    if (nextLen > len) {\n      const restLen = len - currLen;\n      currentNodeList.push(String(node).slice(0, restLen));\n      return currentNodeList;\n    }\n    currentNodeList.push(node);\n    currLen = nextLen;\n  }\n  return nodeList;\n}\nconst NONE = 0;\nconst PREPARE = 1;\nconst WALKING = 2;\nconst DONE_WITH_ELLIPSIS = 3;\nconst DONE_WITHOUT_ELLIPSIS = 4;\nconst Ellipsis = _ref => {\n  let {\n    enabledMeasure,\n    children,\n    text,\n    width,\n    fontSize,\n    rows,\n    onEllipsis\n  } = _ref;\n  const [[startLen, midLen, endLen], setCutLength] = React.useState([0, 0, 0]);\n  const [walkingState, setWalkingState] = React.useState(NONE);\n  const [singleRowHeight, setSingleRowHeight] = React.useState(0);\n  const singleRowRef = React.useRef(null);\n  const midRowRef = React.useRef(null);\n  const nodeList = React.useMemo(() => toArray(text), [text]);\n  const totalLen = React.useMemo(() => getNodesLen(nodeList), [nodeList]);\n  const mergedChildren = React.useMemo(() => {\n    if (!enabledMeasure || walkingState !== DONE_WITH_ELLIPSIS) {\n      return children(nodeList, false);\n    }\n    return children(sliceNodes(nodeList, midLen), midLen < totalLen);\n  }, [enabledMeasure, walkingState, children, nodeList, midLen, totalLen]);\n  // ======================== Walk ========================\n  useIsomorphicLayoutEffect(() => {\n    if (enabledMeasure && width && fontSize && totalLen) {\n      setWalkingState(PREPARE);\n      setCutLength([0, Math.ceil(totalLen / 2), totalLen]);\n    }\n  }, [enabledMeasure, width, fontSize, text, totalLen, rows]);\n  useIsomorphicLayoutEffect(() => {\n    var _a;\n    if (walkingState === PREPARE) {\n      setSingleRowHeight(((_a = singleRowRef.current) === null || _a === void 0 ? void 0 : _a.offsetHeight) || 0);\n    }\n  }, [walkingState]);\n  useIsomorphicLayoutEffect(() => {\n    var _a, _b;\n    if (singleRowHeight) {\n      if (walkingState === PREPARE) {\n        // Ignore if position is enough\n        const midHeight = ((_a = midRowRef.current) === null || _a === void 0 ? void 0 : _a.offsetHeight) || 0;\n        const maxHeight = rows * singleRowHeight;\n        if (midHeight <= maxHeight) {\n          setWalkingState(DONE_WITHOUT_ELLIPSIS);\n          onEllipsis(false);\n        } else {\n          setWalkingState(WALKING);\n        }\n      } else if (walkingState === WALKING) {\n        if (startLen !== endLen) {\n          const midHeight = ((_b = midRowRef.current) === null || _b === void 0 ? void 0 : _b.offsetHeight) || 0;\n          const maxHeight = rows * singleRowHeight;\n          let nextStartLen = startLen;\n          let nextEndLen = endLen;\n          // We reach the last round\n          if (startLen === endLen - 1) {\n            nextEndLen = startLen;\n          } else if (midHeight <= maxHeight) {\n            nextStartLen = midLen;\n          } else {\n            nextEndLen = midLen;\n          }\n          const nextMidLen = Math.ceil((nextStartLen + nextEndLen) / 2);\n          setCutLength([nextStartLen, nextMidLen, nextEndLen]);\n        } else {\n          setWalkingState(DONE_WITH_ELLIPSIS);\n          onEllipsis(true);\n        }\n      }\n    }\n  }, [walkingState, startLen, endLen, rows, singleRowHeight]);\n  // ======================= Render =======================\n  const measureStyle = {\n    width,\n    whiteSpace: 'normal',\n    margin: 0,\n    padding: 0\n  };\n  const renderMeasure = (content, ref, style) => /*#__PURE__*/React.createElement(\"span\", {\n    \"aria-hidden\": true,\n    ref: ref,\n    style: Object.assign({\n      position: 'fixed',\n      display: 'block',\n      left: 0,\n      top: 0,\n      zIndex: -9999,\n      visibility: 'hidden',\n      pointerEvents: 'none',\n      fontSize: Math.floor(fontSize / 2) * 2\n    }, style)\n  }, content);\n  const renderMeasureSlice = (len, ref) => {\n    const sliceNodeList = sliceNodes(nodeList, len);\n    return renderMeasure(children(sliceNodeList, true), ref, measureStyle);\n  };\n  return /*#__PURE__*/React.createElement(React.Fragment, null, mergedChildren, enabledMeasure && walkingState !== DONE_WITH_ELLIPSIS && walkingState !== DONE_WITHOUT_ELLIPSIS && /*#__PURE__*/React.createElement(React.Fragment, null, renderMeasure('lg', singleRowRef, {\n    wordBreak: 'keep-all',\n    whiteSpace: 'nowrap'\n  }), walkingState === PREPARE ? renderMeasure(children(nodeList, false), midRowRef, measureStyle) : renderMeasureSlice(midLen, midRowRef)));\n};\nif (process.env.NODE_ENV !== 'production') {\n  Ellipsis.displayName = 'Ellipsis';\n}\nexport default Ellipsis;"],"mappings":"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"},"metadata":{},"sourceType":"module"}